import { events } from '../utils/events';
import { Room } from './Room';

export class TurnManager {
	constructor(private deptOrder: string[]) {}
	// 当前序列
	index: number = 0;
	// 当前回合
	turn: number = 1;

	/**
	 * 下一回合
	 * @returns
	 */
	next() {
		// 下一回合
		this.turn++;
		// 当前部门
		this.index = (this.index + 1) % this.deptOrder.length;
	}

	/**
	 * 当前部门
	 * @returns
	 */
	current() {
		return this.deptOrder[this.index];
	}
}

events.on('turnEnd', (room: Room) => {
	room.turns.next();
});
